<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>
    <script>
        let arr = [1,2,3,45,6,3,2,1,5,6];
        // 1. 数组去重
        let result = [...new Set(arr)];
        console.log(result);// [1, 2, 3, 45, 6, 5]
        // 2.交集
        let arr2 = [1,2,3,4];
        /* let result2 = [...new Set(arr)].filter(item =>{
            let s2 = new Set(arr2); 
            console.log(s2, typeof s2);// Set(3) {1, 2, 3}  "object"
            if(s2.has(item)){
                return true
            }else{
                return false
            }
        })
        console.log(result2);// [1,2,3] */

        let result2 = [...new Set(arr)].filter((item)=> new Set(arr2).has(item));
        console.log(result2);
        // 3.并集
        let union = [...new Set([...arr,...arr2])];
        console.log(union);
        // 4.差集   差集就是交集的逆运算
        let diff = [...new Set(arr)].filter((item)=> !(new Set(arr2).has(item)));
        console.log(diff);
    </script>
</html>